﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using LapvComponent;
using log4net;
using System.Configuration;
using LapvBussiness;

namespace Lapv.Account
{
    public partial class ChangePass : System.Web.UI.Page
    {
        public string domainStyle = ConfigLapv.Instance.DomainStyle;
        public string domain =ConfigLapv.Instance.DomainAdmin;
        private static readonly ILog log = LogManager.GetLogger(typeof(ChangePass).Name);
        public string _lang = "";
        public int _role = 0;
        public string userLogin = "";
        
        
       
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Page.IsPostBack) return;
            string curUrl = Request.RawUrl;
            Provider.CheckAuthen(curUrl); 
        }
        private void logdata(string msg, string type)
        {
            int uid = 0;
            string uname = string.Empty;
            uid = ProviderAdmin.GetUsserId();
            if (Session["UserName"] != null)
                uname = Session["UserName"].ToString();
            ProviderAdmin.AddLog(uid, uname, msg, string.Empty, type);
        }
        protected void Change(object sender, EventArgs e)
        {
            try
            {
                string currUrl = domain + "GmAdmin/ChangePass.aspx";
                Provider.CheckAuthen(currUrl);
                userLogin = HttpContext.Current.User.Identity.Name;
                string OldPass = Provider.GetMD5Hash(txtOPass.Text);
                string N1Pass = Provider.GetMD5Hash(txtPass.Text);
                if (!string.IsNullOrEmpty(userLogin))
                {
                    using (lapvEntities db = new lapvEntities())
                    {
                        account obj = db.accounts.Where(ec => ec.username == userLogin && ec.password == OldPass).FirstOrDefault();
                        if (obj != null)
                        {
                            obj.password = N1Pass;
                            db.ApplyCurrentValues(obj.EntityKey.EntitySetName, obj);
                            db.SaveChanges();
                            logdata("Đổi mật khẩu thành công! Tên tài khoản: "+obj.username, "USER_ADMIN_CHANGE_PASS");
                            ((Lapv)this.Master).MessageInfomational = "Đổi mật khẩu thành công";
                        }
                        else
                        {
                            logdata("Đổi mật khẩu không thành công! Tên tài khoản: "+obj.username, "USER_ADMIN_CHANGE_PASS");
                            ((Lapv)this.Master).MessageInfomational = "User không tồn tại hoặc mật khẩu sai";
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                log.Error(ex.Message, ex);
                ((Lapv)this.Master).MessageError = "Có lỗi xảy ra" + ex.Message;

            }
        }

    }
}
